{
    function fn(obj){
        var obj=obj||{};  //参数默认值的情况
        obj.userName='张三';
        return obj.userName;
    }
    console.log(fn());
}
{
    function fn(obj={}){
        obj.userName='李四';
        return obj.userName;
    }
    console.log(fn());
}
{
    let x='你好';
    function fn(x,y=x){ 
        console.log(x,y);
    }
    fn('hello');
}
{
    function fn(a,b,...c){
        console.log(a,b,c);
        console.log(c.length);
    }
    fn(1,2,3,4,5,6,7,8,9,10);
}
{
    let fn=v =>v;
    console.log(fn(5));

    // let fn=function(v){
    //     return v
    // }
}
{
    let fn=()=>{
        return 123;
    }
    console.log(fn());
    // let fn=function(){
    //     return 123;
    // }
}
{
    let fn=(obj={})=>{
        obj.userName='张三';
        return obj.userName;
    }
    console.log(fn());
}
{
    // let fn=function(){
    //     console.log(arguments);
    // }
    // fn(1,2,3,4);

    // let fn=()=>{
    //     console.log(arguments);
    // }
    // fn(1,2,3,4);
}
{
    // let fn=function(){
        
    // }
    // let obj=new fn();


    // let fn=()=>{
        
    // }
    // let obj=new fn();
}
{
    // let obj={
    //     userName:'张三',
    //     run:function(){
    //         setTimeout(function(){
    //             console.log(this);
    //             return this.userName;
    //         },3000)
    //     }
    // };
    // console.log(obj.run());

    let obj={
        userName:'张三',
        run:function(){
            setTimeout(()=>{
                console.log(this);
                console.log(this.userName);
               
            },1000)
        }
    };
    console.log(obj.run());
}